home *** CD-ROM | disk | FTP | other *** search
/ The CICA Windows Explosion! / The CICA Windows Explosion! - Disc 2.iso / demo / wemdemo4.zip / INFO / GNUS.3 (.txt) < prev    next >
GNU Info File  |  1994-09-21  |  46KB  |  851 lines

  1. This is Info file ../info/gnus, produced by Makeinfo-1.56 from the
  2. input file gnus.txi.
  3.    This file documents GNUS, the GNU Emacs newsreader.
  4.    Copyright (C) 1989 Fujitsu Laboratories LTD.  Copyright (C) 1990
  5. Masanobu UMEDA.
  6.    Permission is granted to make and distribute verbatim copies of this
  7. manual provided the copyright notice and this permission notice are
  8. preserved on all copies.
  9.    Permission is granted to copy and distribute modified versions of
  10. this manual under the conditions for verbatim copying, provided also
  11. that the sections entitled "Distribution" and "GNUS General Public
  12. License" are included exactly as in the original, and provided that the
  13. entire resulting derived work is distributed under the terms of a
  14. permission notice identical to this one.
  15.    Permission is granted to copy and distribute translations of this
  16. manual into another language, under the above conditions for modified
  17. versions, except that the sections entitled "Distribution" and "GNUS
  18. General Public License" may be included in a translation approved by
  19. the author instead of in the original English.
  20. File: gnus,  Node: Variables,  Next: NNTP Variables,  Prev: Customization,  Up: Customization
  21. Common Variables
  22. ================
  23. `gnus-nntp-server'
  24.      Specifies the name of the host running the NNTP server.  The
  25.      variable is initialized from the `NNTPSERVER' environment
  26.      variable.  If the server name is preceded by a colon such as
  27.      `:Mail', the user's private directory `~/Mail' is used as a news
  28.      spool.  *Note NNTP Server::, and *note Private Directory::., for
  29.      more information.
  30. `gnus-nntp-service'
  31.      Specifies a service name of NNTP, usually a string `"nntp"'.  In a
  32.      few instances, it must be the number `119'.  To use a local news
  33.      spool of your machine rather than NNTP, set the variable to `nil'.
  34.      *Note NNTP Service::, and *note Local News Spool::., for more
  35.      information.
  36. `gnus-local-domain'
  37.      Specifies the domain which is the domain part of your mail address
  38.      excluding the local host name of your machine.  The environment
  39.      variable `DOMAINNAME' is used instead if defined.  If the function
  40.      `system-name' returns the full Internet name, there is no need to
  41.      define the domain.  *Note Domain and Organization: Domain, for more
  42.      information.
  43. `gnus-local-organization'
  44.      Specifies the organization you belong to.  The environment variable
  45.      `ORGANIZATION' is used instead if defined.  If the value begins
  46.      with a slash, it is taken as the name of a file whose contents are
  47.      read for the value.  *Note Domain and Organization: Domain, for
  48.      more information.
  49. `gnus-local-timezone'
  50.      Specifies the local time zone you belong to.  The value can be
  51.      either a time zone name such as `"JST"' or a difference in hour
  52.      from GMT such as `+0900'.  If the variable is non-`nil', a general
  53.      time zone handling package `timezone.el' is used to generate a
  54.      valid date for `Date:' field in terms of RFC822.  Otherwise, if it
  55.      is nil, GNUS generate a date ignoring the local time zone.  If you
  56.      are using Bnews, it is okay since `inews' will rewrite the invalid
  57.      date.  However, if you are using Cnews, you must set the variable
  58.      to the correct time zone or set the variable `gnus-news-system' to
  59.      `Cnews' since `inews' of Cnews does not rewrite the wrong `Date:'
  60.      field.
  61. `gnus-use-generic-from'
  62.      Non-`nil' means the local host name of your machine will not appear
  63.      in the `From:' field of article headers.  If the variable is a
  64.      string, it is used as your domain instead of the definition by the
  65.      variable `gnus-local-domain' or the environment variable
  66.      `DOMAINNAME'.  *Note GENERICFROM::, for more information.
  67. `gnus-use-generic-path'
  68.      Non-`nil' means the NNTP server name will not appear in the
  69.      `Path:' field of article headers.  If the variable is a string, it
  70.      is used in the `Path:' field as the NNTP server name instead of the
  71.      definition by the variable `gnus-nntp-server'.  *Note
  72.      GENERICPATH::, for more information.
  73. `gnus-news-system'
  74.      Specifies news software system name of the news server, such as
  75.      Bnews and Cnews.  It is intended to hide implementation dependent
  76.      differences between news systems.  Current version understands
  77.      `Bnews' and `Cnews'.
  78. `gnus-startup-file'
  79.      Specifies a startup file of the Bnews system, usually `.newsrc'.
  80.      If there is a file named `.newsrc-SERVER', it is used instead when
  81.      talking to SERVER.  *Note Startup File::, for more information.
  82. `gnus-signature-file'
  83.      Specifies a signature file of the Bnews system, usually
  84.      `.signature'.  If there is a file named `.signature-DISTRIBUTION',
  85.      it is used instead when posting an article in DISTRIBUTION.  Set
  86.      the variable to `nil' to prevent appending the signature file
  87.      automatically.
  88. `gnus-use-cross-reference'
  89.      Specifies what to do with cross references (`Xref:' field).  If it
  90.      is `nil', cross references are ignored.  If it is `t', articles in
  91.      subscribed newsgroups are only marked as read.  Otherwise, if it
  92.      is not `nil' nor `t', articles in all newsgroups are marked as
  93.      read.
  94. `gnus-use-followup-to'
  95.      Specifies what to do with `Followup-To:' field.  If it is `nil',
  96.      its value is ignored.  If it is non-`nil', its value is used as
  97.      followup newsgroups.  Especially, if it is `t' and you are going
  98.      to followup to an article in which `poster' is specified, your
  99.      confirmation is required.
  100. `gnus-use-full-window'
  101.      Non-`nil' means to take up the entire screen of Emacs.  If the
  102.      variable is `nil', the windows used by GNUS will be restricted to
  103.      the bounds of the original window.  This is very useful if you
  104.      want to read articles while you do other work in other windows.
  105. `gnus-window-configuration'
  106.      Specifies the configuration of the Group Mode window, the Subject
  107.      Mode window, and the Article Mode window.  The window
  108.      configuration can be specified for each action of GNUS (e.g.
  109.      selecting a newsgroup or selecting an article).  This is quite
  110.      useful if you are using a slow terminal since the update of Emacs
  111.      windows can be minimized by displaying these three windows same
  112.      time.
  113.      The variable must be a list of `(ACTION (G S A))', where ACTION is
  114.      an action being performed, and G, S, and A are the relative
  115.      heights of the Group Mode window, the Subject Mode window, and the
  116.      Article Mode window, respectively.  ACTION is `SelectNewsgroup',
  117.      `ExitNewsgroup', `SelectArticle', or `ExpandSubject'.
  118.      The following example is the default window configuration:
  119.           (setq gnus-window-configuration
  120.                 '((SelectNewsgroup (0 1 0))
  121.                   (ExitNewsgroup   (1 0 0))
  122.                   (SelectArticle   (0 3 10))
  123.                   (ExpandSubject   (0 1 0))))
  124.      The following is an example of yet another two windows mode.
  125.      Article buffer is always displayed on a screen.  This is useful on
  126.      a slow terminal.
  127.           (setq gnus-window-configuration
  128.                 '((SelectNewsgroup (0 1 0))
  129.                   (ExitNewsgroup   (1 0 3))
  130.                   (SelectArticle   (0 1 3))
  131.                   (ExpandSubject   (0 1 0))))
  132.      The following is an example of three windows mode.  Three buffers
  133.      are always displayed on a screen.  This is also useful on a slow
  134.      terminal.
  135.           (setq gnus-window-configuration
  136.                 '((SelectNewsgroup (1 4 0))
  137.                   (ExitNewsgroup   (1 1 3))
  138.                   (SelectArticle   (1 1 3))
  139.                   (ExpandSubject   (1 4 0))))
  140. `gnus-large-newsgroup'
  141.      Specifies the number of the articles which indicates a large
  142.      newsgroup.  If the number of articles in a newsgroup is greater
  143.      than this value, the number of articles to be selected is asked
  144.      for.  If the given value N is positive, the last N articles are
  145.      selected.  If N is negative, the first N articles are selected.
  146.      An empty string means to select all articles.
  147. `gnus-author-copy'
  148.      Specifies a file name saving a copy of an article posted using
  149.      `FCC:' field.  The variable is initialized from the `AUTHORCOPY'
  150.      environment variable.  The specified file name is inserted in
  151.      `FCC:' field, so you have a chance to change the file name or
  152.      disable saving a copy by editing this field.
  153.      If the first character of the value is not ``|'', the article is
  154.      saved to the specified file using the function specified by the
  155.      variable `gnus-author-copy-saver'.  The default function
  156.      `rmail-output' saves in Unix mailbox format.  Instead, if the
  157.      first character is ``|'', the contents of the article is send to a
  158.      program specified by the rest of the value.  For example, articles
  159.      can be saved in an MH folder by the following:
  160.           (setq gnus-author-copy
  161.                 "|/usr/local/lib/mh/rcvstore +Article")
  162. `gnus-author-copy-saver'
  163.      Specifies a function to save an author copy to.  The function is
  164.      called with a file name to save a copy to.  The default function
  165.      `rmail-output' saves in Unix mailbox format.
  166. `gnus-use-long-file-name'
  167.      Non-`nil' means that a newsgroup name is used as a default file
  168.      name to save articles to.  If it is `nil', the directory form of a
  169.      newsgroup name is used instead.  It is set to nil by default if the
  170.      variable `system-type' is either `usg-unix-v' or `xenix'.
  171. `gnus-mail-save-name'
  172. `gnus-rmail-save-name'
  173. `gnus-folder-save-name'
  174. `gnus-file-save-name'
  175.      Specifies a function generating a file name to save articles to.
  176.      The function is called with NEWSGROUP, HEADERS, and optional
  177.      LAST-NAME.  NEWSGROUP is a string representing the current
  178.      newsgroup name.  HEADERS is a vector containing headers of the
  179.      current article.  Macros and functions accessing contents of the
  180.      HEADERS are defined as `nntp-header-FIELD' and
  181.      `gnus-header-FIELD', respectively.  The following functions are
  182.      provided as file name generators by default:
  183.     `gnus-numeric-save-name'
  184.           Return a file name like `NEWS.GROUP/NUMBER' or
  185.           `NEWS/GROUP/NUMBER' according to the variable
  186.           `gnus-use-long-file-name'.
  187.     `gnus-Numeric-save-name'
  188.           Return a file name like `NEWS.GROUP/NUMBER' or
  189.           `NEWS/GROUP/NUMBER' according to the variable
  190.           `gnus-use-long-file-name'.
  191.     `gnus-plain-save-name'
  192.           Return a file name like `NEWS.GROUP' or `NEWS/GROUP/news'
  193.           according to the variable `gnus-use-long-file-name'.
  194.     `gnus-Plain-save-name'
  195.           Return a file name like `NEWS.GROUP' or `NEWS/GROUP/news'
  196.           according to the variable `gnus-use-long-file-name'.
  197.     `gnus-folder-save-name'
  198.           Return a folder name like `+NEWS.GROUP' or `+NEWS/GROUP'
  199.           according to the variable `gnus-use-long-file-name'.
  200.     `gnus-Folder-save-name'
  201.           Return a folder name like `+NEWS.GROUP' or `+NEWS/GROUP'
  202.           according to the variable `gnus-use-long-file-name'.
  203. `gnus-default-article-saver'
  204.      Specifies a function to save articles in your favorite format
  205.      using the command `gnus-Subject-save-article'.  The function must
  206.      be interactively funcallable.  In other words, it must be an Emacs
  207.      command.  The functions currently provided are as follows:
  208.     `gnus-Subject-save-in-mail'
  209.           Save articles in Unix mailbox format.
  210.     `gnus-Subject-save-in-rmail'
  211.           Save articles in Rmail format.
  212.     `gnus-Subject-save-in-folder'
  213.           Save articles in an MH folder.
  214.     `gnus-Subject-save-in-file'
  215.           Save articles in article format.
  216. `gnus-article-save-directory'
  217.      Specifies a directory name to save articles in using the commands
  218.      `gnus-Subject-save-in-mail', `gnus-Subject-save-in-rmail', and
  219.      `gnus-Subject-save-in-file'.  The variable is initialized from the
  220.      `SAVEDIR' environment variable.  Its default value is `~/News'.
  221. `gnus-kill-file-name'
  222.      Specifies a file name of KILL file (*note KILL File::.).  Its
  223.      default value is `KILL'.
  224. `gnus-default-distribution'
  225.      Specifies a distribution inserted automatically when no
  226.      distribution is specified.
  227. `gnus-novice-user'
  228.      Non-`nil' means you are a novice to USENET.  If it is non-`nil',
  229.      verbose messages may be displayed or your confirmations may be
  230.      required.
  231. `gnus-interactive-post'
  232.      Non-`nil' means that newsgroup, subject, and distribution are asked
  233.      for interactively when composing a new article.
  234. `gnus-user-login-name'
  235.      Specifies your login name.  The login name is got from the `USER'
  236.      and `LOGNAME' environment variables and the function
  237.      `user-login-name', if undefined.
  238. `gnus-user-full-name'
  239.      Specifies your full name.  The full name is got from the `NAME'
  240.      environment variable and the function `user-full-name', if
  241.      undefined.
  242. `gnus-show-all-headers'
  243.      Non-`nil' means all headers of an article are shown.
  244. `gnus-save-all-headers'
  245.      Non-`nil' means all headers of an article are saved in a file.
  246. `gnus-show-threads'
  247.      Non-`nil' means conversation threads are displayed in a tree
  248.      structured form according to references in Subject Mode.
  249. `gnus-thread-hide-subject'
  250.      Non-`nil' means subjects of lower level threads are hidden if the
  251.      thread-based reading is turned on.
  252. `gnus-thread-hide-subtree'
  253.      Non-`nil' means thread subtrees are hidden initially.  If thread
  254.      subtrees are hidden, you have to run the command
  255.      `gnus-Subject-show-thread' by hand or by using
  256.      `gnus-Select-article-hook' to show them.
  257. `gnus-thread-hide-killed'
  258.      Non-`nil' means killed thread subtrees are hidden automatically.
  259. `gnus-thread-ignore-subject'
  260.      Non-`nil' means subject differences are ignored but only references
  261.      are taken into account in constructing threads trees.  If it is
  262.      non-`nil' and thread subtrees are hidden, some commands work with
  263.      subjects may not work properly.
  264. `gnus-thread-indent-level'
  265.      Specifies indentation level of thread subtrees.
  266. `gnus-auto-extend-newsgroup'
  267.      Non-`nil' means visible articles are automatically extended to
  268.      forward and backward if possible when the commands `N' and `P'
  269.      (`gnus-Subject-next-article' and `gnus-Subject-prev-article') are
  270.      executed in Subject Mode.
  271. `gnus-auto-select-first'
  272.      Non-`nil' means the first unread article is selected automatically
  273.      when a newsgroup is selected.  If you'd like to prevent automatic
  274.      selection of the first unread article in some newsgroups, set the
  275.      variable to `nil' in the hook `gnus-Select-group-hook' or
  276.      `gnus-Apply-kill-hook' (*note Hooks::.).
  277. `gnus-auto-select-next'
  278.      Non-`nil' means the next newsgroup is selected automatically at the
  279.      end of the newsgroup.  If the value is `t' and the next newsgroup
  280.      is empty (no unread articles), GNUS will exit Subject Mode and go
  281.      back to Group Mode.  If the value is neither `nil' nor `t', GNUS
  282.      won't exit Subject Mode but will select the following unread
  283.      newsgroup.  If the value is `quietly', the next unread newsgroup
  284.      will be selected without any confirmations.
  285. `gnus-auto-select-same'
  286.      Non-`nil' means an article with the same subject as the current
  287.      article is selected automatically like `rn -S'.
  288. `gnus-auto-center-subject'
  289.      Non-`nil' means that the cursor is always kept centered in the
  290.      Subject Mode window.
  291. `gnus-break-pages'
  292.      Non-`nil' means an article is broken into pages at page delimiters.
  293.      The page delimiter is specified by the variable
  294.      `gnus-page-delimiter'.  This may not work with some versions of GNU
  295.      Emacs earlier than version 18.50.
  296. `gnus-page-delimiter'
  297.      Specifies regexp describing line-beginnings that separate pages of
  298.      articles.  Its default value is `"^\^L"'.
  299. `gnus-digest-show-summary'
  300.      Non-`nil' means that a summary of digest messages is shown when
  301.      reading a digest article using the command
  302.      `gnus-Subject-rmail-digest'.
  303. `gnus-digest-separator'
  304.      Specifies a regexp which separates messages in a digest article.
  305.      Changes to this variable only affect the commands
  306.      `gnus-Subject-next-digest' and `gnus-Subject-prev-digest', but not
  307.      the command `gnus-Subject-rmail-digest'.
  308. `gnus-optional-headers'
  309.      Specifies a function which generates an optional string displayed
  310.      in the Subject buffer.  The function is called with an article
  311.      HEADERS, and must return a string excluding `[' and `]'.  HEADERS
  312.      is a vector containing headers of the current article.  Macros and
  313.      functions accessing contents of the HEADERS are defined as
  314.      `nntp-header-FIELD' and `gnus-header-FIELD', respectively.
  315.      GNUS provides two functions:
  316.     `gnus-optional-lines-and-from'
  317.           Return a string like "NNN:AUTHOR", where NNN is the number of
  318.           lines in an article and AUTHOR is the name of the author.
  319.     `gnus-optional-lines'
  320.           Return a string like "NNN", where NNN is the number of lines
  321.           in an article.
  322.      *Note Hooks::, to change optional headers according to selected
  323.      newsgroups.
  324. `gnus-Info-directory'
  325.      Specifies a directory where the GNUS Info file is placed.  It is
  326.      not necessary to change this variable unless you install an Info
  327.      file in a directory different from the variable `Info-directory'.
  328.      *Note Texinfo Manual::, for more information.
  329. `gnus-mail-reply-method'
  330.      Specifies a function to begin composing reply mail messages.  The
  331.      function will be called with an optional argument which means yank
  332.      original article automatically if non-`nil'.  To use Mail Mode, set
  333.      the variable to `gnus-mail-reply-using-mail'.  To use mh-e letter
  334.      Mode, set the variable to `gnus-mail-reply-using-mhe'.
  335. `gnus-mail-forward-method'
  336.      Specifies a function to forward the current message to another
  337.      user.  To use Mail Mode, set the variable to
  338.      `gnus-mail-forward-using-mail'.  To use mh-e letter Mode, set the
  339.      variable to `gnus-mail-forward-using-mhe'.
  340. `gnus-mail-other-window-method'
  341.      Specifies a function to begin composing mail messages in other
  342.      window.  To use Mail Mode, set the variable to
  343.      `gnus-mail-other-window-using-mail'.  To use mh-e letter Mode, set
  344.      the variable to `gnus-mail-other-window-using-mhe'.
  345. `gnus-subscribe-newsgroup-method'
  346.      Specifies a function called with a newsgroup name when a new
  347.      newsgroup is found.  GNUS provides the following three functions:
  348.     `gnus-subscribe-randomly'
  349.           Inserts a new newsgroup at the beginning of newsgroups.  Thus,
  350.           newsgroups are in random order.
  351.     `gnus-subscribe-alphabetically'
  352.           Inserts a new newsgroup in strict alphabetic order.
  353.     `gnus-subscribe-hierarchically'
  354.           Inserts a new newsgroup in hierarchical newsgroup order.
  355.      The following two definitions illustrate how to write your favorite
  356.      subscribing method.  The following definition (is the definition
  357.      of the function gnus-subscribe-randomly) adds new newsgroup at the
  358.      beginning of newsgroups:
  359.           (setq gnus-subscribe-newsgroup-method
  360.                 (function
  361.                  (lambda (newsgroup)
  362.                    (gnus-subscribe-newsgroup newsgroup
  363.                                              (car (car gnus-newsrc-assoc))))))
  364.      Instead, if you want to add new newsgroup at the end of
  365.      newsgroups, use the following:
  366.           (setq gnus-subscribe-newsgroup-method
  367.                 (function
  368.                  (lambda (newsgroup)
  369.                    (gnus-subscribe-newsgroup newsgroup nil))))
  370.      If you want to prevent adding new newsgroups automatically and
  371.      want to subscribe them later using the command `U'
  372.      (`gnus-Group-unsubscribe-group') in the Newsgroup buffer, use the
  373.      following:
  374.           (setq gnus-subscribe-newsgroup-method
  375.                 (function (lambda (newsgroup) nil))) ;Do nothing.
  376.      The following final example must be the most useful for you who
  377.      want not to add new newsgroups automatically.  This definition
  378.      subscribes a new newsgroup first, and then kills it.  The killed
  379.      newsgroups can be added to the subscription list interactively
  380.      using Browse-Killed Mode (*note Maintenance::.).
  381.           (setq gnus-subscribe-newsgroup-method
  382.                 (function
  383.                  (lambda (newsgroup)
  384.                    (gnus-subscribe-newsgroup newsgroup)
  385.                    (gnus-kill-newsgroup newsgroup))))
  386. File: gnus,  Node: NNTP Variables,  Next: Spool Variables,  Prev: Variables,  Up: Customization
  387. NNTP Specific Variables
  388. =======================
  389. `nntp-large-newsgroup'
  390.      Specifies the number of articles which indicates a large
  391.      newsgroup.  If the number of articles is greater than the value,
  392.      verbose messages will be shown to indicate the current status.
  393. `nntp-buggy-select'
  394.      Non-`nil' means the select routine of your operating system is
  395.      buggy.  GNUS may hang up while waiting for NNTP server responses.
  396.      The problem may be solved by setting the variable to `t'.  *Note
  397.      NNTP Problems::, for more information.
  398. `nntp-maximum-request'
  399.      Specifies the maximum number of requests to be sent to the NNTP
  400.      server at one time.  GNUS may hang up while retrieving headers of
  401.      a large newsgroup because sending many requests to the NNTP server
  402.      without reading replies to them causes deadlock.  In this case,
  403.      set the variable to a lower number.  *Note NNTP Problems::, for
  404.      more information.
  405. `nntp-debug-read'
  406.      Non-`nil' means show the communication status about reading the
  407.      NNTP server output.  Set the variable to `nil' if you are annoyed
  408.      about verbose messages while reading news from slow terminal.
  409. `tcp-program-name'
  410.      Specifies a program which establishes communications between Emacs
  411.      and the NNTP server.  Its default value is `tcp' which is
  412.      distributed as `tcp.c' with other files of GNUS (*note Files of
  413.      GNUS::.).  If your Emacs has the function `open-network-stream',
  414.      there is no need to define this variable.
  415. File: gnus,  Node: Spool Variables,  Next: Directory Variables,  Prev: NNTP Variables,  Up: Customization
  416. Local News Spool Specific Variables
  417. ===================================
  418. `nnspool-inews-program'
  419.      Specifies a program to post news.  This is default to the variable
  420.      `news-inews-program' which is default to `inews'.
  421. `nnspool-inews-switches'
  422.      Specifies switches for the function `nnspool-request-post' to pass
  423.      to the command `inews' for posting news.  Its default value is
  424.      `("-h")'.
  425. `nnspool-spool-directory'
  426.      Specifies a directory of a local news spool.  This is default to
  427.      the variable `news-path' which is default to `/usr/spool/news'.
  428. `nnspool-active-file'
  429.      Specifies an active file of the Bnews system for a local news
  430.      spool.  Its default value is `/usr/lib/news/active'.
  431. `nnspool-history-file'
  432.      Specifies a history file of the Bnews system for a local news
  433.      spool.  Its default value is `/usr/lib/news/history'.  Some
  434.      machines may not have this file.  In this case, commands to refer
  435.      to articles by Message-IDs will not work at all (*note Referencing
  436.      Articles::.).
  437. File: gnus,  Node: Directory Variables,  Next: Hooks,  Prev: Spool Variables,  Up: Customization
  438. Private Directory Specific Variables
  439. ====================================
  440. `mhspool-list-directory-switches'
  441.      Specifies switches for the function `mhspool-request-list' to pass
  442.      to the command `ls' for getting file listings in a private
  443.      directory.  There should be one entry for each line.  Its default
  444.      value is `("-R")'.  Some machines may require the `("-R1")' switch.
  445. File: gnus,  Node: Hooks,  Prev: Directory Variables,  Up: Customization
  446. Function Hooks
  447. ==============
  448. `gnus-Group-mode-hook'
  449.      Called with no arguments after initializing Group Mode if its
  450.      value is non-`nil'.  This hook is intended to customize Group Mode
  451.      only once.  It is possible to define or change the NNTP server as
  452.      you like in this hook since the hook is called before GNUS is
  453.      connected to an NNTP server.
  454. `gnus-Subject-mode-hook'
  455.      Called with no arguments after initializing Subject Mode if its
  456.      value is non-`nil'.  This hook is intended to customize Subject
  457.      Mode only once.  All sorts of searches in Subject Mode normally
  458.      ignore the case of the text they are searching through.  If you do
  459.      not want to ignore the case, set the variable `case-fold-search'
  460.      to `nil' in this hook.
  461.      The following example shows how to assign the functions
  462.      `gnus-Subject-next-group' and `gnus-Subject-prev-group' to keys in
  463.      Subject Mode.
  464.           (setq gnus-Subject-mode-hook
  465.                 (function
  466.                  (lambda ()
  467.                    (local-set-key "\C-cn" 'gnus-Subject-next-group)
  468.                    (local-set-key "\C-cp" 'gnus-Subject-prev-group))))
  469. `gnus-Article-mode-hook'
  470.      Called with no arguments after initializing Article Mode if its
  471.      value is non-`nil'.  This hook is intended to customize Article
  472.      Mode only once.
  473.      Displaying the current time in the mode line of buffers is
  474.      disabled in the Article buffer and the Subject buffer to show
  475.      information on the current newsgroup and the current article.  If
  476.      you want to display the current time in the mode line of the
  477.      Article buffer, make the variable `global-mode-string' no longer
  478.      have a separate value in the buffer as follows:
  479.           (setq gnus-Article-mode-hook
  480.                 (function
  481.                  (lambda ()
  482.                    (kill-local-variable 'global-mode-string))))
  483. `gnus-Kill-file-mode-hook'
  484.      Called with no arguments after initializing KILL-File Mode if its
  485.      value is non-`nil'.
  486. `gnus-Browse-killed-mode-hook'
  487.      Called with no arguments after initializing Browse-Killed Mode if
  488.      its value is non-`nil'.
  489. `gnus-Open-server-hook'
  490.      Called with no arguments just before opening a connection to NNTP
  491.      server if its value is non-`nil'.
  492. `gnus-Startup-hook'
  493.      Called with no arguments after an NNTP server is successfully
  494.      connected to if its value is non-`nil'.  It is possible to change
  495.      the behavior of GNUS according to the server.
  496. `gnus-Group-prepare-hook'
  497.      Called with no arguments after a list of newsgroups is prepared in
  498.      the Newsgroup buffer.  This hook is intended to modify the buffer.
  499. `gnus-Subject-prepare-hook'
  500.      Called with no arguments after list of subjects is prepared in the
  501.      Subject buffer.  This hook is intended to modify the buffer.
  502. `gnus-Article-prepare-hook'
  503.      Called with no arguments after an article is prepared in the
  504.      Article buffer.  This hook is intended to modify the buffer.  For
  505.      example, kanji code conversion or un-ROT13-ing can be done in this
  506.      hook.
  507. `gnus-Select-group-hook'
  508.      Called with no arguments when a newsgroup is selected.  This hook
  509.      is intended to change the behavior of GNUS according to the
  510.      selected newsgroup.
  511.      The following is an example of sorting the headers listed in the
  512.      Subject buffer by date and then by subject.  Preceding `Re:' of
  513.      subjects is ignored while comparing subjects.
  514.           (setq gnus-Select-group-hook
  515.                 (function
  516.                  (lambda ()
  517.                    ;; First of all, sort by date.
  518.                    (gnus-sort-headers
  519.                     (function
  520.                      (lambda (a b)
  521.                        (gnus-date-lessp (gnus-header-date a)
  522.                                         (gnus-header-date b)))))
  523.                    ;; Then sort by subject ignoring `Re:'.
  524.                    (gnus-sort-headers
  525.                     (function
  526.                      (lambda (a b)
  527.                        (gnus-string-lessp
  528.                         (gnus-simplify-subject
  529.                          (gnus-header-subject a) 're-only)
  530.                         (gnus-simplify-subject
  531.                          (gnus-header-subject b) 're-only)
  532.                         )))))))
  533.      The following is an example of simplifying subjects like the
  534.      `gnus-Subject-next-same-subject' command does:
  535.           (setq gnus-Select-group-hook
  536.                 (function
  537.                  (lambda ()
  538.                    (mapcar (function
  539.                             (lambda (header)
  540.                               (nntp-set-header-subject
  541.                                header
  542.                                (gnus-simplify-subject
  543.                                 (gnus-header-subject header) 're-only))))
  544.                            gnus-newsgroup-headers))))
  545.      In some newsgroups, author names are meaningless.  It is possible
  546.      to prevent listing author names in the Subject buffer as follows:
  547.           (setq gnus-Select-group-hook
  548.                 (function
  549.                  (lambda ()
  550.                    (cond ((string-equal "comp.sources.unix"
  551.                                         gnus-newsgroup-name)
  552.                           (setq gnus-optional-headers
  553.                                 (function gnus-optional-lines)))
  554.                          (t
  555.                           (setq gnus-optional-headers
  556.                                 (function
  557.                                  gnus-optional-lines-and-from)))))))
  558. `gnus-Select-article-hook'
  559.      Called with no arguments when an article is selected if its value
  560.      is non-`nil'.
  561.      The default hook definition shows conversation thread subtrees of
  562.      the selected article automatically as follows:
  563.           (setq gnus-Select-article-hook
  564.                 (function
  565.                  (lambda ()
  566.                    (gnus-Subject-show-thread))))
  567.      It is possible to run Rmail on a digest article automatically as
  568.      follows:
  569.           (setq gnus-Select-article-hook
  570.                 (function
  571.                  (lambda ()
  572.                    (gnus-Subject-show-thread)
  573.                    (cond ((string-equal "comp.sys.sun"
  574.                                         gnus-newsgroup-name)
  575.                           (gnus-Subject-rmail-digest))
  576.                          ((and (string-equal "comp.text"
  577.                                              gnus-newsgroup-name)
  578.                                (string-match "^TeXhax Digest"
  579.                                              (gnus-header-subject
  580.                                               gnus-current-headers)))
  581.                           (gnus-Subject-rmail-digest)
  582.                           )))))
  583. `gnus-Select-digest-hook'
  584.      Called with no arguments when reading digest messages using Rmail
  585.      if its value is non-`nil'.  This hook is intended to modify an
  586.      article so that Rmail can work with it.  *Note Digest Articles::,
  587.      for more information on digest articles.
  588.      The following example is the default hook definition to modify
  589.      incomplete digest articles:
  590.           (setq gnus-Select-digest-hook
  591.                 (function
  592.                  (lambda ()
  593.                    ;; Reply-To: is required by
  594.                    ;; `undigestify-rmail-message'.
  595.                    (or (mail-position-on-field "Reply-to" t)
  596.                        (progn
  597.                          (mail-position-on-field "Reply-to")
  598.                          (insert (gnus-fetch-field "From")))))))
  599. `gnus-Rmail-digest-hook'
  600.      Called with no arguments when reading digest messages using Rmail
  601.      if its value is non-`nil'.  This hook is intended to customize
  602.      Rmail Mode for reading digest articles.
  603. `gnus-Apply-kill-hook'
  604.      Called with no arguments when a newsgroup is selected and the
  605.      Subject buffer is prepared if its value is non-`nil'.  This hook
  606.      is intended to apply KILL files to the selected newsgroup.  It is
  607.      set to the function `gnus-apply-kill-file' by default.
  608.      Since a general KILL file is too heavy to use only for a few
  609.      newsgroups, a lighter hook function is recommended.  For example,
  610.      if you'd like to apply kills to articles which contain the string
  611.      `rmgroup' in subject in newsgroup `control', you can use the
  612.      following hook:
  613.           (setq gnus-Apply-kill-hook
  614.                 (function
  615.                  (lambda ()
  616.                    (cond ((string-match "control" gnus-newsgroup-name)
  617.                           (gnus-kill "Subject" "rmgroup")
  618.                           (gnus-expunge "X"))))))
  619.      *Note KILL File::, for more information on KILL files.
  620. `gnus-Mark-article-hook'
  621.      Called with no arguments when an article is selected for the first
  622.      time if its value is non-`nil'.  The hook is intended to mark an
  623.      article as read (or unread) automatically when it is selected.
  624.      The following example is the default definition of the hook:
  625.           (setq gnus-Mark-article-hook
  626.                 (function
  627.                  (lambda ()
  628.                    ;; Mark the selected article as read.
  629.                    (or (memq gnus-current-article gnus-newsgroup-marked)
  630.                        (gnus-Subject-mark-as-read gnus-current-article))
  631.                    ;; Put "+" on the current subject.
  632.                    (gnus-Subject-set-current-mark "+"))))
  633.      It is possible to mark as unread (`-') instead when an article is
  634.      selected as follows:
  635.           (setq gnus-Mark-article-hook
  636.                 (function
  637.                  (lambda ()
  638.                    ;; Mark the selected article as unread.
  639.                    (gnus-Subject-mark-as-unread gnus-current-article)
  640.                    ;; Put "+" on the current subject.
  641.                    (gnus-Subject-set-current-mark "+"))))
  642. `gnus-Inews-article-hook'
  643.      Called with no arguments before posting an article if its value is
  644.      non-`nil'.  This hook is called just before sending an article to
  645.      the NNTP server or calling the `inews' program, while the hook
  646.      `news-inews-hook' is called before preparing article headers.  This
  647.      hook is intended to run special encoding programs such as kanji
  648.      code conversion on the article.
  649. `gnus-Exit-group-hook'
  650.      Called with no arguments when exiting the current newsgroup if its
  651.      value is non-`nil'.  If your machine is so slow that exiting from
  652.      Subject Mode takes a long time, you can inhibit marking articles
  653.      as read by using cross-reference information in the `Xref:' field
  654.      by setting the variable `gnus-newsgroup-headers' to `nil' in this
  655.      hook.
  656. `gnus-Exit-gnus-hook'
  657.      Called with no arguments when exiting GNUS if its value is
  658.      non-`nil'.  If you want to clear out Emacs buffers which were
  659.      created by GNUS and remain afterwards, you can use this hook.
  660.      The following example shows how to kill a buffer which was used for
  661.      posting news.
  662.           (setq gnus-Exit-gnus-hook
  663.                 (function
  664.                  (lambda ()
  665.                    ;; Kill a buffer used for posting news.
  666.                    (and (get-buffer "*post-news*")
  667.                         (kill-buffer "*post-news*")))))
  668. `gnus-Suspend-gnus-hook'
  669.      Called with no arguments when suspending GNUS if its value is
  670.      non-`nil'.  The purpose is the same as the hook
  671.      `gnus-Exit-gnus-hook'.
  672. `gnus-Save-newsrc-hook'
  673.      Called with no arguments before saving the startup file `.newsrc'
  674.      if its value is non-`nil'.  This hook is intended to change the way
  675.      of backing up the startup file.
  676. `nntp-server-hook'
  677.      Called with no arguments when the connection between Emacs and the
  678.      NNTP server is established if its value is non-`nil'.  This hook is
  679.      intended to change the kanji code of a buffer associated with the
  680.      stream.  Use the variable `nntp-server-name' to refer to the name
  681.      of the NNTP server in this hook.  *Note Kanji Handling::, for more
  682.      information.
  683. File: gnus,  Node: Problems,  Next: Reporting Bugs,  Prev: Customization,  Up: Top
  684. Troubleshooting
  685. ***************
  686.    Some common problems and their solutions are described.  If you have
  687. any other problems which are not described here and cannot solve them by
  688. yourself, *note Reporting Bugs::..
  689. * Menu:
  690. * NNTP Problems::       Problems with NNTP.
  691. * Kanji Handling::      Problems with kanji handling.
  692. * Preloading::          Problems with preloading GNUS.
  693. File: gnus,  Node: NNTP Problems,  Next: Kanji Handling,  Prev: Problems,  Up: Problems
  694. NNTP Problems
  695. =============
  696. Infinite Loop Caused by Buggy Select Routine
  697. --------------------------------------------
  698.    Emacs may hang up while waiting for NNTP server responses.  This may
  699. be caused by a buggy select routine of your operating system.  If so,
  700. the problem may be solved by using source codes of `nntp.el' instead of
  701. byte-compiled codes.  If you still have problems with it, set the
  702. variable `nntp-buggy-select' to `t'.
  703. Deadlock Caused by Packet Overflow
  704. ----------------------------------
  705.    Emacs may hang up while retrieving headers of a large newsgroup.  The
  706. reason is that too many requests have been sent to the NNTP server
  707. without reading replies to them.  This causes a deadlock of Emacs and
  708. the server.  In this case, the number of requests sent to the server at
  709. one time must be reduced.  Set the variable `nntp-maximum-request' to a
  710. lower value than the default.  The optimal value depends on your
  711. computing environment.
  712. File: gnus,  Node: Kanji Handling,  Next: Preloading,  Prev: NNTP Problems,  Up: Problems
  713. Kanji Handling
  714. ==============
  715.    Kanji handling scheme is different in each implementation of Japanese
  716. GNU Emacs.  Moreover, in some case the scheme may be different in each
  717. version of the same implementations.  Make sure which implementation and
  718. version you are using.
  719. * Menu:
  720. * NEmacs2::             Kanji handling in NEmacs 2.1.
  721. * NEmacs3::             Kanji handling in NEmacs 3.0.
  722. * SX/A Emacs::          Kanji handling in SX/A Emacs.
  723. File: gnus,  Node: NEmacs2,  Next: NEmacs3,  Prev: Kanji Handling,  Up: Kanji Handling
  724. Kanji Handling In NEmacs 2.1
  725. ----------------------------
  726.    If the kanji code of articles stored in the NNTP server is different
  727. from your private file kanji code, the correct kanji code of the buffer
  728. associated with the NNTP stream must be specified using the hook
  729. `nntp-server-hook' as follows:
  730.      (setq nntp-server-hook
  731.            (function
  732.             (lambda ()
  733.               ;; Server's Kanji code is EUC (NEmacs hack).
  734.               (make-local-variable 'kanji-fileio-code)
  735.               (setq kanji-fileio-code 0))))
  736. If you use a local news spool in stead of NNTP, the following additional
  737. hook is required to post an article in the correct kanji code in any
  738. case:
  739.      (setq gnus-Inews-article-hook
  740.            (function
  741.             (lambda ()
  742.               (save-excursion
  743.                 (set-buffer nntp-server-buffer)
  744.                 (make-local-variable 'kanji-fileio-code)
  745.                 (setq kanji-fileio-code 0)   ;EUC
  746.                 ))))
  747.    The variable `nntp-server-name' is a buffer local variable holding a
  748. host name running an NNTP server.  Use this variable to change the
  749. kanji code according to the server.  The following example shows how to
  750. change the kanji code using this variable.
  751.      (setq nntp-server-hook
  752.            (function
  753.             (lambda ()
  754.               (make-local-variable 'kanji-fileio-code)
  755.               (cond ((string-equal nntp-server-name "foo")
  756.                      (setq kanji-fileio-code 0)) ;EUC
  757.                     ((string-equal nntp-server-name "bar")
  758.                      (setq kanji-fileio-code 1)) ;Shift-JIS
  759.                     (t
  760.                      (setq kanji-fileio-code 2)) ;JIS
  761.                     ))))
  762. File: gnus,  Node: NEmacs3,  Next: SX/A Emacs,  Prev: NEmacs2,  Up: Kanji Handling
  763. Kanji Handling In NEmacs 3.0
  764. ----------------------------
  765.    The author has less experiences with NEmacs 3.0.  So, the following
  766. description may be wrong.  If you find any mistakes, please let the
  767. author know (*note Reporting Bugs::.).
  768.    In NEmacs 3.0, the kanji code of articles stored in the NNTP server
  769. must be specified according to both the service name (or number) and the
  770. host name running the server.  For this, the function
  771. `define-service-kanji-code' is provided.
  772.    The following example specifies the kanji code of the host `flab' as
  773. JIS using this function:
  774.      (define-service-kanji-code "nntp" "flab" 2)      ;2 stands for JIS.
  775. File: gnus,  Node: SX/A Emacs,  Prev: NEmacs3,  Up: Kanji Handling
  776. Kanji Handling In SX/A Emacs
  777. ----------------------------
  778.    If the kanji code of articles stored in the NNTP server is not EUC,
  779. it must be converted to EUC in an Emacs buffer after being read into the
  780. buffer.  The kanji code of articles being posted must be also converted
  781. to the server specific kanji code in an Emacs buffer before actually
  782. being sent to the server.  The following examples show how to do these
  783. using hooks:
  784.      (setq gnus-Article-prepare-hook
  785.            (function
  786.             (lambda ()
  787.               (call-process-region (point-min) (point-max)
  788.                                    "nkf" t t nil "-e" ;-e stands for EUC.
  789.                                    ))))
  790.      (setq gnus-Inews-article-hook
  791.            (function
  792.             (lambda ()
  793.               (call-process-region (point-min) (point-max)
  794.                                    "nkf" t t nil "-j" ;-j stands for JIS.
  795.                                    ))))
  796. In this example, `nkf' (Network Kanji Filter) is used as a kanji code
  797. converter, and the kanji code of the NNTP server is JIS.
  798. File: gnus,  Node: Preloading,  Prev: Kanji Handling,  Up: Problems
  799. Preloading GNUS
  800. ===============
  801.    Basically, GNUS is not designed to be preloaded.  For instance, if
  802. you preload `gnus.el', some user variables which are initialized from
  803. environment variables may be improperly initialized according to your
  804. environment definitions.  The variables `gnus-nntp-server',
  805. `gnus-author-copy', and `gnus-article-save-directory' are such
  806. variables.
  807.    To prevent GNUS from being initialized from your definitions, you
  808. should `unsetenv' related environment variables before preloading GNUS,
  809. or set the variables to `nil' after loading GNUS.
  810. File: gnus,  Node: Reporting Bugs,  Next: Key Index,  Prev: Problems,  Up: Top
  811. Reporting Bugs
  812. **************
  813. Mailing Lists and USENET Newsgroup
  814. ==================================
  815.    There are two mailing lists and one USENET newsgroup for discussing
  816. GNUS related topics.  These are intended for exchanging useful
  817. information about GNUS, such as bug reports, useful hooks, and
  818. extensions of GNUS.  If you have any questions or problems, feel free to
  819. ask about them.  Suggestions are also welcome.
  820. `gnu.emacs.gnus'
  821.      This is a USENET newsgroup under the gnu.all hierarchy which is
  822.      concerned with the GNU Project of the Free Software Foundation.
  823. `info-gnus-english@tut.cis.ohio-state.edu'
  824.      This is an Internet mailing list which is gated bi-directionally
  825.      with the gnu.emacs.gnus newsgroup.  English is the official
  826.      language of the list.  Please send subscription requests to:
  827.           info-gnus-english-request@tut.cis.ohio-state.edu
  828. `info-gnus@flab.Fujitsu.CO.JP'
  829.      This is a JUNET mailing list.  Messages of info-gnus-english and
  830.      gnu.emacs.gnus are forwarded to this list.  English and Japanese
  831.      are the official languages of the list.  Please send subscription
  832.      requests to:
  833.           info-gnus-request@flab.Fujitsu.CO.JP
  834.    The major difference between info-gnus-english/gnu.emacs.gnus and
  835. info-gnus is the official language.  There is no need to subscribe to
  836. info-gnus if you cannot read messages written in Japanese since most
  837. discussions and important announcements will be sent to
  838. info-gnus-english.
  839. How to Report a Bug
  840. ===================
  841.    If you find a bug, it is important to report it and to report it in a
  842. way which is useful.  If it is a bug of a lisp program, what is the most
  843. useful is an exact backtrace information of the lisp program with the
  844. version number of GNUS that you are using.
  845.    To make the backtrace information, you must set the Emacs variable
  846. `debug-on-error' to `t' before the error happens.  A backtrace obtained
  847. from a byte-compiled lisp program is not usually understandable.  To
  848. make a human readable backtrace, load the source program which is not
  849. byte-compiled yet and then produce the error.
  850.    *note Reporting Bugs: (emacs)Bugs, for more information.
  851.